home *** CD-ROM | disk | FTP | other *** search
/ Sky at Night 2007 June / SAN CD 6-2007 CD-ROM 25.iso / pc / Software / AstroGrav_Win / Java / jre1.6.0 / lib / rt.jar / java / nio / ByteBuffer.class (.txt) < prev    next >
Encoding:
Java Class File  |  2006-11-29  |  4.5 KB  |  285 lines

  1. package java.nio;
  2.  
  3. public abstract class ByteBuffer extends Buffer implements Comparable<ByteBuffer> {
  4.    // $FF: renamed from: hb byte[]
  5.    final byte[] field_0;
  6.    final int offset;
  7.    boolean isReadOnly;
  8.    boolean bigEndian;
  9.    boolean nativeByteOrder;
  10.  
  11.    ByteBuffer(int var1, int var2, int var3, int var4, byte[] var5, int var6) {
  12.       super(var1, var2, var3, var4);
  13.       this.bigEndian = true;
  14.       this.nativeByteOrder = Bits.byteOrder() == ByteOrder.BIG_ENDIAN;
  15.       this.field_0 = var5;
  16.       this.offset = var6;
  17.    }
  18.  
  19.    ByteBuffer(int var1, int var2, int var3, int var4) {
  20.       this(var1, var2, var3, var4, (byte[])null, 0);
  21.    }
  22.  
  23.    public static ByteBuffer allocateDirect(int var0) {
  24.       return new DirectByteBuffer(var0);
  25.    }
  26.  
  27.    public static ByteBuffer allocate(int var0) {
  28.       if (var0 < 0) {
  29.          throw new IllegalArgumentException();
  30.       } else {
  31.          return new HeapByteBuffer(var0, var0);
  32.       }
  33.    }
  34.  
  35.    public static ByteBuffer wrap(byte[] var0, int var1, int var2) {
  36.       try {
  37.          return new HeapByteBuffer(var0, var1, var2);
  38.       } catch (IllegalArgumentException var4) {
  39.          throw new IndexOutOfBoundsException();
  40.       }
  41.    }
  42.  
  43.    public static ByteBuffer wrap(byte[] var0) {
  44.       return wrap(var0, 0, var0.length);
  45.    }
  46.  
  47.    public abstract ByteBuffer slice();
  48.  
  49.    public abstract ByteBuffer duplicate();
  50.  
  51.    public abstract ByteBuffer asReadOnlyBuffer();
  52.  
  53.    public abstract byte get();
  54.  
  55.    public abstract ByteBuffer put(byte var1);
  56.  
  57.    public abstract byte get(int var1);
  58.  
  59.    public abstract ByteBuffer put(int var1, byte var2);
  60.  
  61.    public ByteBuffer get(byte[] var1, int var2, int var3) {
  62.       checkBounds(var2, var3, var1.length);
  63.       if (var3 > this.remaining()) {
  64.          throw new BufferUnderflowException();
  65.       } else {
  66.          int var4 = var2 + var3;
  67.  
  68.          for(int var5 = var2; var5 < var4; ++var5) {
  69.             var1[var5] = this.get();
  70.          }
  71.  
  72.          return this;
  73.       }
  74.    }
  75.  
  76.    public ByteBuffer get(byte[] var1) {
  77.       return this.get(var1, 0, var1.length);
  78.    }
  79.  
  80.    public ByteBuffer put(ByteBuffer var1) {
  81.       if (var1 == this) {
  82.          throw new IllegalArgumentException();
  83.       } else {
  84.          int var2 = var1.remaining();
  85.          if (var2 > this.remaining()) {
  86.             throw new BufferOverflowException();
  87.          } else {
  88.             for(int var3 = 0; var3 < var2; ++var3) {
  89.                this.put(var1.get());
  90.             }
  91.  
  92.             return this;
  93.          }
  94.       }
  95.    }
  96.  
  97.    public ByteBuffer put(byte[] var1, int var2, int var3) {
  98.       checkBounds(var2, var3, var1.length);
  99.       if (var3 > this.remaining()) {
  100.          throw new BufferOverflowException();
  101.       } else {
  102.          int var4 = var2 + var3;
  103.  
  104.          for(int var5 = var2; var5 < var4; ++var5) {
  105.             this.put(var1[var5]);
  106.          }
  107.  
  108.          return this;
  109.       }
  110.    }
  111.  
  112.    public final ByteBuffer put(byte[] var1) {
  113.       return this.put(var1, 0, var1.length);
  114.    }
  115.  
  116.    public final boolean hasArray() {
  117.       return this.field_0 != null && !this.isReadOnly;
  118.    }
  119.  
  120.    public final byte[] array() {
  121.       if (this.field_0 == null) {
  122.          throw new UnsupportedOperationException();
  123.       } else if (this.isReadOnly) {
  124.          throw new ReadOnlyBufferException();
  125.       } else {
  126.          return this.field_0;
  127.       }
  128.    }
  129.  
  130.    public final int arrayOffset() {
  131.       if (this.field_0 == null) {
  132.          throw new UnsupportedOperationException();
  133.       } else if (this.isReadOnly) {
  134.          throw new ReadOnlyBufferException();
  135.       } else {
  136.          return this.offset;
  137.       }
  138.    }
  139.  
  140.    public abstract ByteBuffer compact();
  141.  
  142.    public abstract boolean isDirect();
  143.  
  144.    public String toString() {
  145.       StringBuffer var1 = new StringBuffer();
  146.       var1.append(this.getClass().getName());
  147.       var1.append("[pos=");
  148.       var1.append(this.position());
  149.       var1.append(" lim=");
  150.       var1.append(this.limit());
  151.       var1.append(" cap=");
  152.       var1.append(this.capacity());
  153.       var1.append("]");
  154.       return var1.toString();
  155.    }
  156.  
  157.    public int hashCode() {
  158.       int var1 = 1;
  159.       int var2 = this.position();
  160.  
  161.       for(int var3 = this.limit() - 1; var3 >= var2; --var3) {
  162.          var1 = 31 * var1 + this.get(var3);
  163.       }
  164.  
  165.       return var1;
  166.    }
  167.  
  168.    public boolean equals(Object var1) {
  169.       if (!(var1 instanceof ByteBuffer)) {
  170.          return false;
  171.       } else {
  172.          ByteBuffer var2 = (ByteBuffer)var1;
  173.          if (this.remaining() != var2.remaining()) {
  174.             return false;
  175.          } else {
  176.             int var3 = this.position();
  177.             int var4 = this.limit() - 1;
  178.  
  179.             for(int var5 = var2.limit() - 1; var4 >= var3; --var5) {
  180.                byte var6 = this.get(var4);
  181.                byte var7 = var2.get(var5);
  182.                if (var6 != var7 && (var6 == var6 || var7 == var7)) {
  183.                   return false;
  184.                }
  185.  
  186.                --var4;
  187.             }
  188.  
  189.             return true;
  190.          }
  191.       }
  192.    }
  193.  
  194.    public int compareTo(ByteBuffer var1) {
  195.       int var2 = this.position() + Math.min(this.remaining(), var1.remaining());
  196.       int var3 = this.position();
  197.  
  198.       for(int var4 = var1.position(); var3 < var2; ++var4) {
  199.          byte var5 = this.get(var3);
  200.          byte var6 = var1.get(var4);
  201.          if (var5 != var6 && (var5 == var5 || var6 == var6)) {
  202.             return var5 < var6 ? -1 : 1;
  203.          }
  204.  
  205.          ++var3;
  206.       }
  207.  
  208.       return this.remaining() - var1.remaining();
  209.    }
  210.  
  211.    public final ByteOrder order() {
  212.       return this.bigEndian ? ByteOrder.BIG_ENDIAN : ByteOrder.LITTLE_ENDIAN;
  213.    }
  214.  
  215.    public final ByteBuffer order(ByteOrder var1) {
  216.       this.bigEndian = var1 == ByteOrder.BIG_ENDIAN;
  217.       this.nativeByteOrder = this.bigEndian == (Bits.byteOrder() == ByteOrder.BIG_ENDIAN);
  218.       return this;
  219.    }
  220.  
  221.    abstract byte _get(int var1);
  222.  
  223.    abstract void _put(int var1, byte var2);
  224.  
  225.    public abstract char getChar();
  226.  
  227.    public abstract ByteBuffer putChar(char var1);
  228.  
  229.    public abstract char getChar(int var1);
  230.  
  231.    public abstract ByteBuffer putChar(int var1, char var2);
  232.  
  233.    public abstract CharBuffer asCharBuffer();
  234.  
  235.    public abstract short getShort();
  236.  
  237.    public abstract ByteBuffer putShort(short var1);
  238.  
  239.    public abstract short getShort(int var1);
  240.  
  241.    public abstract ByteBuffer putShort(int var1, short var2);
  242.  
  243.    public abstract ShortBuffer asShortBuffer();
  244.  
  245.    public abstract int getInt();
  246.  
  247.    public abstract ByteBuffer putInt(int var1);
  248.  
  249.    public abstract int getInt(int var1);
  250.  
  251.    public abstract ByteBuffer putInt(int var1, int var2);
  252.  
  253.    public abstract IntBuffer asIntBuffer();
  254.  
  255.    public abstract long getLong();
  256.  
  257.    public abstract ByteBuffer putLong(long var1);
  258.  
  259.    public abstract long getLong(int var1);
  260.  
  261.    public abstract ByteBuffer putLong(int var1, long var2);
  262.  
  263.    public abstract LongBuffer asLongBuffer();
  264.  
  265.    public abstract float getFloat();
  266.  
  267.    public abstract ByteBuffer putFloat(float var1);
  268.  
  269.    public abstract float getFloat(int var1);
  270.  
  271.    public abstract ByteBuffer putFloat(int var1, float var2);
  272.  
  273.    public abstract FloatBuffer asFloatBuffer();
  274.  
  275.    public abstract double getDouble();
  276.  
  277.    public abstract ByteBuffer putDouble(double var1);
  278.  
  279.    public abstract double getDouble(int var1);
  280.  
  281.    public abstract ByteBuffer putDouble(int var1, double var2);
  282.  
  283.    public abstract DoubleBuffer asDoubleBuffer();
  284. }
  285.